package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * <desc>
 *    物业用户角色项目信息关联实体类
 * </desc>
 *
 * @createDate 2017/10/12
 */
@ItlTables("property_role_project")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PropertyRoleProjectPO extends  BasePO implements Serializable {


    /**
     * 项目id
     */
    @ItlField("project_id")
    private String projectId;

    /**
     * 角色id
     */
    @ItlField("role_id")
    private String roleId;

    /**
     * 用户id
     */
    @ItlField("user_id")
    private String userId;

    @ItlField("end_time")
    private Date endTime;               //授权有效期至
    @ItlField("cloud_intercom_sdk")
    private Integer cloudIntercomSdk;   // 云对讲SDK，0否，1是
    @ItlField("bluetooth_sdk")
    private Integer bluetoothSdk;       // 蓝牙SDK，0否，1是
    @ItlField("qr_code_sdk")
    private Integer qrCodeSdk;          // 二维码SDK，0否，1是
    @ItlField("cloud_elevator_api")
    private Integer cloudElevatorApi;   // 云电梯API，0否，1是，2该项目已被其他开发者占用
    @ItlField("device_auth")
    private String deviceAuth;          // 机器人乘梯API授权设备信息,二进制字符串,如:00011011代表有第4,5,7号电梯控制器权限
    @ItlField("cloud_intercom_appid_id")
    private String cloudIntercomAppidId;          // 第三方提供的云对讲appid逻辑主键
    @ItlField("robot_elevator_api")
    private Integer robotElevatorApi;          // 机器人乘梯API，0否，1是
    @ItlField("update_info_url")
    private String updateInfoUrl;          // 信息变更回调地址
    @ItlField("status_url")
    private String statusUrl;               // 状态上报回调地址
    @ItlField("device_auth_cloud_elevator")
    private String deviceAuthCloudElevator;          // 云电梯API授权设备信息,二进制字符串,如:00011011代表有第4,5,7号电梯控制器权限
    @ItlField("cloud_entrance_api")
    private Integer cloudEntranceApi;          // 云门禁API，0否，1是
    @ItlField("device_auth_cloud_entrance")
    private String deviceAuthCloudEntrance;          // 云门禁API授权设备信息,二进制字符串,如:00011010代表有第4,5,7号门禁控制器权限
    @ItlField("visitor_machine_api")
    private Integer visitorMachineApi;          // 访客机API，0否，1是
    @ItlField("function_auth")
    private String functionAuth;          // 一卡通开发者功能授权
    @ItlField("face_recognition_api")
    private Integer faceRecognitionApi;          // 人脸识别API，0否，1是
    @ItlField("robot_noninductive")
    private Integer roboNoninductive;          // 多梯自动调度，0否，1是
    @ItlField("robot_to_cloud")
    private Integer roboToCloud;          // 单梯云对接，0否，1是
    @ItlField("robot_entrance")
    private Integer robotEntrance;          // 云门禁云对接，0否，1是
    @ItlField("online_qr_code_api")
    private Integer onlineQRCodeApi; //在线二维码API对接(0否，1是)
    @ItlField("offline_qr_code_sdk")
    private Integer offlineQRCodeSdk;//离线二维码SDK对接(0否，1是)
    @ItlField("wechat_small_qr_code")
    private Integer wechatSmallQRCode; //微信小插件二维码对接（0否，1是）
    @ItlField("wechat_small_bluetooth_docking")
    private Integer wechatSmallBluetoothDocking;//微信小插件蓝牙对接(0否，1是)
    @ItlField("cloud_entrance_status")
    private Integer cloudElevatorStatus;//云电梯对接状态 0否，1是 默认为0
    @ItlField("cloud_entrance_status")
    private Integer cloudEntranceStatus;//云门禁对接状态 0否，1是 默认为0

    @ItlField("robot_whitelist_auth_status")
    private Integer robotWhiteListAuthStatus;//机器人白名单授权状态(1表示是,0表示否，默认为0)

    @ItlField("robot_device_auth_status")
    private Integer robotDeviceAuthStatus;//机器人设备授权状态(1表示是,0表示否，默认为0)

    public PropertyRoleProjectPO(String projectId, String roleId) {
        this.projectId = projectId;
        this.roleId = roleId;
    }


    public PropertyRoleProjectPO(String projectId, String roleId,Integer status) {
        this.projectId = projectId;
        this.roleId = roleId;
        super.setStatus(status);
    }

    public PropertyRoleProjectPO(String projectId, String roleId, String userId) {
        this.projectId = projectId;
        this.roleId = roleId;
        this.userId = userId;
    }


}